package acwing.算法进阶打卡;/**
 * @author： li
 * @date： 2022-03-16 20:17
 * @version 1.0
 */



/**
 一个正整数 x 被称为一个可爱数当且仅当不存在任何正整数 a>1 满足 a2 是 x 的约数。

 给定一个正整数 n，请计算并输出 n 的所有约数中，属于可爱数的最大约数。

 输入格式
 第一行包含整数 T，表示共有 T 组测试数据。

 每组数据占一行，包含一个整数 n。

 输出格式
 每组数据输出一行结果。

 数据范围
 1≤T≤10,
 1≤n≤1012
 输入样例：
 2
 10
 12
 输出样例：
 10
 6
 */
/*
 这道题是让你求出n中属于可爱数的最大约数
 本质上让你求出的这个数还是你n的约数
 而且这个约数满足可爱数的性质 而且你要最大值
我们就将一个一个除掉我们的n中的含平方项的约数 2^2 2为平方项
最后除掉所有后那么剩下的n就是最大的可爱数*/
import java.io.*;
import java.util.Scanner;
public class 属于可爱数的最大约数 {
    static BufferedWriter out = new BufferedWriter(new OutputStreamWriter(System.out));
    public static void main(String[] args) throws IOException {
        Scanner sc = new Scanner(System.in);
        int t;
        long n;
        t=sc.nextInt();
        while(t>0){
            n=sc.nextLong();
            for(long i=2;i*i<=n;i++){
                while(n%(i*i)==0){
                    n= n/i;
                }
            }
            out.write(String.valueOf(n));
            out.write("\n");
            t--;
        }
        out.flush();
        sc.close();
    }
}
